Systems and methods for facilitating content discovery based on augmented context

ABSTRACT

Method, systems, and computer-readable media are provided to facilitate content discovery based on augmented context. A first set of images of a graphical display may be acquired and analyzed to identify visual characteristics of an object represented. Attributes of the object may be identified. Specifications may be transmitted to the television receiver and/or a remote data source in order to pull matching information. A user-selectable interface element may be generated for presentation as an option to take an action relating to the object represented. A visual output of the interface element may be output as an overlay on the first set and/or a second set of images displayed by the computing device. A user selection responsive to the outputting of the visual output of the at interface element may be processed. A communication may be transmitted to the television receiver to cause the action responsive to the user selection.

This disclosure generally relates to systems and methods of contentdiscovery, and more particularly to systems and methods for facilitatingcontent discovery based at least in part on augmented context.

BACKGROUND

Users of televisions and other video distribution platforms now havemore options than ever to view content. For example, in addition to livebroadcasts of content and local recordings of content (e.g., using adigital video recorder), content may be accessible from various sourcesvia a network (e.g., the Internet). However, with the proliferation ofcontent, a viewer can encounter a number of difficulties. Chief amongthe difficulties is the amount of time and effort necessary to searchfor particular content of interest. The options can be overwhelming tomany users and can make process of locating content of interestdifficult and inefficient. Viewers are in need of better viewerexperiences and more tailored service offerings.

Thus, there is a need for systems and methods that address the foregoingproblems in order to provide viewers with better experiences. This andother needs are addressed by the present disclosure.

BRIEF SUMMARY

Certain embodiments of the present disclosure relate generally tosystems and methods of content discovery, and more particularly tosystems and methods for facilitating content discovery based at least inpart on augmented context.

In one aspect, a method is disclosed. The method may include performingone or a combination of the following. A first set of one or more imagesof a graphical display may be acquired using an image capture device.The graphical display may correspond to a presentation displayed by adisplay device that is different from a computing device. The first setof one or more images may be analyzed to identify one or more visualcharacteristics of an object represented by the first set of one or moreimages. Based at least in part on the one or more visual characteristicsof the object, one or more attributes of the object may be identified.One or more specifications of the one or more attributes of the objectmay be transmitted to the television receiver and/or a remote datasource. Information, that matches the one or more specifications, may bepulled from the television receiver and/or the remote data source. Basedat least in part on the information, at least one user-selectableinterface element may be generated for presentation with the computerdevice. The at least one user-selectable interface element maycorrespond to an option to take an action relating to the objectrepresented by the first set of one or more images. A visual output ofthe at least one user-selectable interface element may be output as anoverlay on the first set of one or more images and/or a second set ofone or more images displayed by the computing device. The second set ofone or more images may be based at least in part on further imageacquisition of the graphical display using the image capture device. Auser selection responsive to the outputting of the visual output of theat least one user-selectable interface element may be processed. Acommunication may be transmitted to the television receiver to cause theaction responsive to the user selection.

In another aspect, a system is disclosed. The system may include acomputing device configured to communicatively couple to a televisionreceiver. The computing device may include one or more processors and amemory communicatively coupled with and readable by the one or moreprocessors and having stored therein processor-readable instructionswhich, when executed by the one or more processors, cause the computingdevice to perform one or a combination of the following. A first set ofone or more images of a graphical display may be acquired using an imagecapture device. The graphical display may correspond to a presentationdisplayed by a display device that is different from a computing device.The first set of one or more images may be analyzed to identify one ormore visual characteristics of an object represented by the first set ofone or more images. Based at least in part on the one or more visualcharacteristics of the object, one or more attributes of the object maybe identified. One or more specifications of the one or more attributesof the object may be transmitted to the television receiver and/or aremote data source. Information, that matches the one or morespecifications, may be pulled from the television receiver and/or theremote data source. Based at least in part on the information, at leastone user-selectable interface element may be generated for presentationwith the computer device. The at least one user-selectable interfaceelement may correspond to an option to take an action relating to theobject represented by the first set of one or more images. A visualoutput of the at least one user-selectable interface element may beoutput as an overlay on the first set of one or more images and/or asecond set of one or more images displayed by the computing device. Thesecond set of one or more images may be based at least in part onfurther image acquisition of the graphical display using the imagecapture device. A user selection responsive to the outputting of thevisual output of the at least one user-selectable interface element maybe processed. A communication may be transmitted to the televisionreceiver to cause the action responsive to the user selection.

In yet another aspect, one or more non-transitory, machine-readablemedia are disclosed. The one or more non-transitory, machine-readablemedia may have instructions thereon which, when executed by one or moreprocessing devices, cause the one or more processing devices to performone or a combination of the following. A first set of one or more imagesof a graphical display may be acquired using an image capture device.The graphical display may correspond to a presentation displayed by adisplay device. The first set of one or more images may be analyzed toidentify one or more visual characteristics of an object represented bythe first set of one or more images. Based at least in part on the oneor more visual characteristics of the object, one or more attributes ofthe object may be identified. One or more specifications of the one ormore attributes of the object may be transmitted to the televisionreceiver and/or a remote data source. Information, that matches the oneor more specifications, may be pulled from the television receiverand/or the remote data source. Based at least in part on theinformation, at least one user-selectable interface element may begenerated for presentation with the computer device. The at least oneuser-selectable interface element may correspond to an option to take anaction relating to the object represented by the first set of one ormore images. A visual output of the at least one user-selectableinterface element may be output as an overlay on the first set of one ormore images and/or a second set of one or more images displayed by thecomputing device. The second set of one or more images may be based atleast in part on further image acquisition of the graphical displayusing the image capture device. A user selection responsive to theoutputting of the visual output of the at least one user-selectableinterface element may be processed. A communication may be transmittedto the television receiver to cause the action responsive to the userselection.

In various embodiments, the information pulled may indicate a set of oneor more programming events matching the one or more specifications, andavailability of one or more viewing options for the set of one or moreprogramming events. In various embodiments, the action relating to theobject may include recording at least one of the set of one or moreprogramming events matching the one or more specifications. And thecommunication transmitted to the television receiver may cause arecorder to record the at least one of the set of one or moreprogramming events.

In various embodiments, the information pulled corresponds to content,from the remote data source, matching the one or more specifications,wherein content represents a set of one or more commercial productsmatching the one or more specifications.

In various embodiments, one or more user interests may be inferred basedat least in part on the user selection responsive to the outputting ofthe visual output of the at least one user-selectable interface element.And a second communication may be transmitted to the television receiverto cause a second action based at least in part on the one or more userinterests inferred. The second action may include customizing anelectronic programming guide so that upcoming programming events aregraphically distinguished based at least in part on the one or more userinterests inferred. The second action may include a recorder recording aset of one or more programming events based at least in part on the oneor more user interests inferred.

Further areas of applicability of the present disclosure will becomeapparent from the detailed description provided hereinafter. It shouldbe understood that the detailed description and specific examples, whileindicating various embodiments, are intended for purposes ofillustration only and are not intended to necessarily limit the scope ofthe disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the nature and advantages of variousembodiments may be realized by reference to the following figures. Inthe appended figures, similar components or features may have the samereference label. Further, various components of the same type may bedistinguished by following the reference label by a dash and a secondlabel that distinguishes among the similar components. If only the firstreference label is used in the specification, the description isapplicable to any one of the similar components having the same firstreference label irrespective of the second reference label.

FIG. 1 illustrates a television programming distribution system, inaccordance with certain embodiments of the present disclosure.

FIG. 2 illustrates a receiver that makes use of and/or interacts with acontent augmentation system, in accordance with certain embodiments ofthe present disclosure.

FIGS. 3A and 3B are simplified illustrations of an augmented contentsubsystem, in accordance with certain embodiments of the presentdisclosure.

FIG. 4 is a block diagram of a system including one non-limiting exampleof a computing device configured to facilitate content discovery basedat least in part on augmented context, in accordance with certainembodiments of the present disclosure.

FIG. 5 illustrates a functional diagram of an augmentation system, inaccordance with certain embodiments of the present disclosure.

FIG. 6 is a block diagram that illustrates an example method of certainfeatures directed to content discovery based at least in part onaugmented context, in accordance with certain embodiments of the presentdisclosure.

FIG. 7 illustrates an embodiment of a computer system that may beincorporated as part of the described computerized devices, inaccordance with certain embodiments of the present disclosure.

DETAILED DESCRIPTION

The ensuing description provides preferred exemplary embodiment(s) only,and is not intended to limit the scope, applicability or configurationof the disclosure. Rather, the ensuing description of the preferredexemplary embodiment(s) will provide those skilled in the art with anenabling description for implementing a preferred exemplary embodimentof the disclosure. It should be understood that various changes may bemade in the function and arrangement of elements without departing fromthe spirit and scope of the disclosure as set forth in the appendedclaims.

Specific details are given in the following description to provide athorough understanding of the embodiments. However, it will beunderstood by one of ordinary skill in the art that the embodimentsmaybe practiced without these specific details. For example, circuitsmay be shown in block diagrams in order not to obscure the embodimentsin unnecessary detail. In other instances, well-known circuits,processes, algorithms, structures, and techniques may be shown withoutunnecessary detail in order to avoid obscuring the embodiments.

Also, it is noted that the embodiments may be described as a processwhich is depicted as a flowchart, a flow diagram, a data flow diagram, astructure diagram, or a block diagram. Although a flowchart may describethe operations as a sequential process, many of the operations can beperformed in parallel or concurrently. In addition, the order of theoperations may be re-arranged. A process is terminated when itsoperations are completed, but could have additional steps not includedin the figure. A process may correspond to a method, a function, aprocedure, a subroutine, a subprogram, etc. When a process correspondsto a function, its termination corresponds to a return of the functionto the calling function or the main function.

Certain embodiments according to the present disclosure may facilitatecontent discovery based at least in part on augmented context. Certainembodiments may utilize facial and object recognition technology torecognize actors and/or objects (e.g., products) in scenes ofprogramming content (e.g., a television program, a movie, a commercial,a video clip, etc.) displayed on a display device (e.g., a television, amonitor, etc.) that a user captures with a camera of a computing devicewhile the user is viewing the programming content. Based at least inpart on recognized actors/characters and/or objects, certain embodimentsmay pull, from a remote data source through the cloud, content that ispertinent to the recognized actors/characters and/or objects. Certainembodiments may utilize the captured image data and the pulled contentto generate and present augmented reality on the computing device todisplay the actor and/or object with an augmented reality overlay ofcontent on images currently captured with the camera of the computingdevice.

Certain embodiments may generate and present user-selectable options totake actions pertinent to the recognized actors and/or objects (e.g., tofind more movies and shows with that actor, to purchase the product froman online vendor, and/or the like). In certain embodiments, thecomputing device may communicate with a television receiver to pullinformation (e.g., electronic programming guide information and/or otherschedule information) and generate and present an augmented realityoverlay based at least in part on the pulled information. Certainembodiments may further generate user-selectable options forpresentation on the computing device and/or an electronic programmingguide to prompt a user to schedule recordings of discovered programsthat are related to the recognized actors and/or objects. In someembodiments, the computing device may communicate with the receiver tocustomize the electronic programming guide so that upcoming programmingcontent is flagged based at least in part on interests of the userinferred from augmented reality selections. With some embodiments, thecomputing device may communicate with the receiver to automaticallycreate recording settings to record programs based at least in part onthe augmented reality and selections made therewith.

In some embodiments, the computing device may use the recognized actorsand/or objects and the pulled content to generate augmented reality tofacilitate product placement in the home (e.g., captures a fridge, pullsoptions for fridges, displays the fridge options as overlay on images ofkitchen being captured by the camera of the mobile device). In someembodiments, the computing device may use the recognized actors and/orobjects and the pulled content to generate augmented reality tofacilitate projections of captured images and masks based at least inpart on the recognized actors and/or objects. Some embodiments mayfurther provide for the computing device to casts image to the receiver,and the receiver may use the images for overlays with programmingcontent.

Various embodiments will now be discussed in greater detail withreference to the accompanying figures, beginning with FIG. 1.

FIG. 1 illustrates an embodiment of a television program distributionsystem 100. For brevity, system 100 is depicted in a simplified andconceptual form, and may generally include more or fewer systems,devices, networks, and/or other components as desired. Further, thenumber and types of features or elements incorporated within the system100 may or may not be implementation-specific, and at least some of theaspects of the system 100 may be similar to a cable televisiondistribution system, an IPTV (Internet Protocol Television) contentdistribution system, and/or any other type of media or contentdistribution system.

The system 100 may include television service provider 102, satelliteuplink 104, a plurality of orbiting (e.g., geosynchronous) satellites106, satellite receiver 108, television receivers 110, one or morecontents sources 112 (e.g., online content sources), one or morecatch-up services 114, one or more subscription services 116, one ormore (other) television receivers 110-1, computing devices 116 a-d, andservice providers 122 (e.g., online service providers). In someembodiments, the television receiver 110 may include a contentaugmentation engine 111. In some embodiments, the content augmentationengine 111 may be configured to access multiple local and remote contentresources and facilitate various content discovery features inaccordance with various embodiments disclosed herein.

System 100 may include one or more networks 120 that can be used for abi-directional communication path for data transfer with televisionreceivers 110 and other components of system 100. The network 120 isintended to represent any number of terrestrial and/or non-terrestrialnetworks and/or network features. For example, network 120 mayincorporate or exhibit any number of features or elements of variouswireless and/or hardwired packet-based communication networks such as,for example, a WAN (Wide Area Network) network (e.g., the Internet), aHAN (Home Area Network) network, a LAN (Local Area Network) network(e.g., a corporate LAN), a WLAN (Wireless Local Area Network) network, acellular communications network, and/or any other type of communicationnetwork(s) configured such that data may be transferred between andamong respective elements of the example system 100.

The television receivers 110, as described throughout, may generally beany type of television receiver (such as an STB (set-top box), forexample) configured to decode signals received for output andpresentation via a display device 160. In another example, televisionreceiver 110 (which may include another remote television receiver, suchas a television receivers 110-1) may be integrated as part of or into atelevision, a DVR, a computing device, such as a tablet computingdevice, or any other computing system or device, as well as variationsthereof. In some embodiments, a television receiver 110 may be acomponent that is added into the display device 160, such as in the formof an expansion card. A television receiver 110 and network 120 togetherwith television receivers 110-1, mobile device 127, and/or computersystem 128, may form at least a portion of a particular home computingnetwork, and may each be respectively configured such as to enablecommunications in accordance with any particular communicationprotocol(s) and/or standard(s) including, for example, TCP/IP(Transmission Control Protocol/Internet Protocol), DLNA/DTCP-IP (DigitalLiving Network Alliance/Digital Transmission Copy Protection overInternet Protocol), HDMI/HDCP (High-Definition MultimediaInterface/High-Bandwidth Digital Content Protection), etc.

In some embodiments, broadcast television programs may be delivered totelevision receivers, including a television receiver 110, via satelliteaccording to a schedule. On-demand content may also be delivered to atelevision receiver 110 via satellite. Satellites 106 may be configuredto receive uplink signals 122 from satellite uplink 104. In thisexample, uplink signals 122 may contain one or more transponder streamsof particular data or content, such as particular television channels,each of which may be supplied by television service provider 102. Forexample, each of uplink signals 122 may contain various media contentsuch as HD (High Definition) television channels, SD (StandardDefinition) television channels, on-demand programming, programminginformation (e.g., table data), and/or any other content in the form ofat least one transponder stream, and in accordance with an allottedcarrier frequency and bandwidth. In this example, different mediacontent may be carried using different satellites of satellites 106.Further, different media content may be carried using differenttransponders of a particular satellite (e.g., satellite 106-1); thus,such media content may be transmitted at different frequencies and/ordifferent frequency ranges. For example, a first and second televisionchannel may be carried on a first carrier frequency over a firsttransponder (as part of a single transponder stream) of satellite 106-1,and a third, fourth, and fifth television channel may be carried on asecond carrier frequency (as part of another transponder stream) over atransponder of satellite 106-3, or, the third, fourth, and fifthtelevision channel may be carried on a second carrier frequency over asecond transponder of satellite 106-1, etc.

The satellites 106 may be further configured to relay uplink signals 122to the satellite receiver 108 as downlink signals 124. Similar to theuplink signals 122, each of the downlink signals 124 may contain one ormore transponder streams of particular data or content, such as variousencoded and/or at least partially scrambled television channels,on-demand programming, etc., in accordance with an allotted carrierfrequency and bandwidth. The satellite receiver 108, which may include asatellite dish, a low noise block (LNB), and/or other components, may beprovided for use to receive television channels, such as on asubscription basis, distributed by the television service provider 102via the satellites 106. For example, the satellite receiver 108 may beconfigured to receive particular transponder streams as downlink signals124, from one or more of the satellites 106. Based at least in part onthe characteristics of a given television receiver 110 and/or satellitereceiver 108, it may only be possible to capture transponder streamsfrom a limited number of transponders of the satellites 106concurrently. For example, a tuner of the television receiver 110 mayonly be able to tune to a single transponder stream from a transponderof a single satellite, such as the satellite 106-1, at a time.

The television receiver 110, which may be communicatively coupled to thesatellite receiver 108, may subsequently select, via a tuner, decode,and relay television programming to a television for display thereon.Broadcast television programming or content may be presented “live,” orfrom a recording as previously stored on, by, or at the televisionreceiver 110. For example, an HD channel may be output to a televisionby the television receiver 110 in accordance with the HDMI/HDCP contentprotection technologies. Other embodiments are possible. For example, insome embodiments, an HD channel may be output to a television inaccordance with the MoCA® (Multimedia over Coax Alliance) homeentertainment networking standard. Other embodiments are possible.

The television receiver 110 may select via tuner, decode, and relayparticular transponder streams to one or more of television receivers110-1, which may in turn relay particular transponder streams to displaydevices 160. For example, the satellite receiver 108 and the televisionreceiver 110 may, respectively, be configured to receive, decode, andrelay at least one television channel to a television by way of atelevision receiver 110-1. Similar to the above-example, a televisionchannel may generally be presented “live,” or from a recording aspreviously stored by the television receiver 110, and may be output tothe display device 160 by way of the television receiver 110-1 inaccordance with a particular content protection technology and/ornetworking standard. Other embodiments are possible.

In various embodiments, the content resources 126 may be used to providethe television receiver 110 with content (e.g., television programming).The content resources 126 may be used to retrieve television programs orportions of television programs following and/or during a live broadcastof the television programs. The content resources 126 may include thetelevision service provider 102, the service providers 122, the onlinecontent sources 112, the catch-up services 114, the subscriptionservices 116, and the television receivers 110-1. Other forms of contentresources are further detailed below.

The television service provider 102, which may distribute broadcasttelevision programming to the television receivers 110 via asatellite-based television programming distribution arrangement (or someother form of television programming distribution arrangement, such as acable-based network or IP-based network, may use an alternatecommunication path, such as via the network 120, to provide televisionprogramming to the television receivers 110. The television receivers110 may be permitted to request various television programs or portionsof television programs from the television service provider 102 via thenetwork 120. For instance, the television service provider 102 may bepermitted to transmit a portion of a television program or an entiretelevision program during and/or after a time at which the televisionprogram was broadcast live by the television service provider via asatellite-based television programming distribution arrangement.

In some embodiments, the television service provider 102 may provide atelevision program via on-demand content. On-demand content may beincluded in a user's subscription or may be provided on a per-requestbasis. Such on-demand content may be provided via the satellite-baseddistribution arrangement and/or via the network 120. If the on-demandversion of the television program requires payment of a fee, beforeproviding the television program to the television receiver 110, a userof the television receiver 110 may at least need to agree to payment ofthe fee. On-demand content provided via the satellite-based distributionarrangement may be stored locally by the television receiver 110 toallow on-demand access. On-demand content may also be retrieved via thenetwork 120 from the television service provider 102.

The computing devices 116 a-d represent various computerized devicesthat may be associated with a user of the television receiver 110 andthat may be configured to facilate various content discovery featuresdisclosed in various embodiments herein. As indicated by 116 a, thecomputing devices 116 a-d may include a laptop computer, a desktopcomputer, a home server, or another similar form of computerized device.As indicated by 116 b and 116 c, the computing devices 116 a-d mayinclude a cellular phone and/or smartphone, a tablet computer, oranother similar form of mobile device. As indicated by 116 d, thecomputing devices 116 a-d may include smart glasses or another similarform of wearable computing device.

The television receiver 110 may be provided with access credentials thatallow access to content stored and/or accessible through one or more ofthe computing devices 116 a-d. It should be understood that computingdevices 116 a-d are exemplary in nature. Content may be accessiblethrough a fewer or greater number of computerized devices associatedwith a user of the television receiver 110.

In some embodiments, the online content sources 112 may representcontent resources through which television programs may be retrieved bythe television receiver 110 via the network 120. Television programmingavailable through the online content sources 112 may be available forfree and not require subscription (a username and/or password may or maynot be necessary). Each of the online content sources 112 may representdifferent websites available via the Internet. For example, sometelevision programming may be legally made available for free (such astelevision programming provided by government-funded sources, e.g., theBBC or Hulu®). Periodically, the television receiver 110 may poll onlinecontent sources 112 to determine which television programs are availableand/or which television programs are scheduled to be available in thefuture. In some embodiments, the television receiver 110 may poll onlinecontent sources 112 regarding the availability of at least a portion ofa specific television program.

Additionally or alternatively, the online content sources 112 mayrepresent content resources through which other types of content may beretrieved by the computing devices 116 and/or the television receiver110 via the network 120. For example, content from the online contentsources 112 may be pulled by a computing device 116 and/or thetelevision receiver 110. The pulled content may correspond to contextualcontent pertinent to actors recognized in programming content capturedby the computer devices 106. Such online content sources 112 may includeInternet Movie Database (IMDb), Wikipedia, other websites, and/or thelike. As another example, the pulled content may correspond tocontextual content pertinent to objects (e.g., products) recognized inprogramming content captured by the computer devices 106. Such onlinecontent sources 112 may include online retailers, manufacturer websites,other websites, and/or the like.

The catch-up services 114 may represent content resources through whichtelevision programs may be retrieved by the television receiver 110 viathe network 120. Television programming available through public sourcesmay be available for free and not require subscription (a usernameand/or password may or may not be necessary). Some catch-up services mayrequire a subscription and may require user authentication. The catch-upservices 114 may only make a television program available during thelive broadcast of the television program. For example, a catch-upservice authorized or run by a television channel (e.g., NBC) ortelevision program production company may make at least a portion of atelevision program available for streaming or download during a livebroadcast scheduled time slot. Therefore, a user may be permitted towatch a missed portion of a live broadcast television program via acatch-up service, but may not be permitted to view the entire televisionprogram via the catch-up service at a later time. In some embodiments,television programs may be available via a catch-up service for up to afixed period of time after the live broadcast of the television programor indefinitely (e.g., until the catch-up service provider decides toremove accessibility to the television program). Periodically, thetelevision receiver 110 may poll the catch-up services 114 to determinewhich television programs are available and/or which television programsare scheduled to be available in the future. In some embodiments, thetelevision receiver 110 may poll the catch-up services 114 regarding theavailability of at least a portion of a specific television program.

The subscription services 116 may represent content resources throughwhich television programs may be retrieved by the television receivers110 via the network 120. Television programming available throughsubscription services 116 may require a paid subscription and mayrequire a username and/or password be provided. Each of subscriptionservices 116 may represent different websites available via theInternet. For example, some television programming may be legally madeavailable via a service operated by a television channel or authorizedagent of the television channel or television program productioncompany. Periodically, a television receiver 110 may poll subscriptionservices 116 to determine which television programs are available and/orwhich television programs are scheduled to be available in the future.In some embodiments, the television receiver 110 may poll thesubscription services 116 regarding the availability of at least aportion of a specific television program.

The television receiver 110 may be able to retrieve at least a portionof a television program through other television receivers 110-1, whichcan function as content resources. Similarly, the television receiver110 may be able to cast at least a portion of a television programthrough other television receivers and/or to computing devices 116. Forinstance, a Slingbox® (or other form of media streaming device)functioning in concert with a television receiver may permit televisionprograms to be captured and streamed over the network 120. In someembodiments, the television receivers 110 may have such media streamingcapabilities integrated. In some embodiments, the television receivers110 may cast programming content to the computing devices 116 viawireless signals. For example, the programming content from thetelevision receiver may be indirectly transmitted via a local network(e.g., via Wi-Fi) or directly transmitted to the computing device via acasting device integrated with the television receiver 110 or coupled tothe television receiver 110 (e.g., via a dongle). In some embodiments,the programming content may be cast to the computing device via a wiredconnection (e.g., via one or more of HDMI, USB, lightning connector,etc.). Some embodiments of the television receivers 100 may provide forsimulcasting such that the same programming that is being displayed onthe display device 160 is being displayed on one or more of thecomputing devices 116 simultaneously or substantially simultaneously.

A user may be able to obtain at least a portion of a television programvia the television receivers 110, which may be associated with otherusers or with the same user. For instance, the user may have multipletelevision receivers at different locations. Periodically, thetelevision receiver 110 may poll the other television receivers 110 todetermine which television programs are available and/or whichtelevision programs are scheduled to be available in the future. In someembodiments, the television receiver 110 may poll the televisionreceivers 110-1 regarding the availability of at least a portion of aspecific television program.

While network configuration data may be broadcast repeatedly viasatellite to television receivers, it should be understood that asimilar arrangement may be used in cable-based television programmingbroadcast networks to broadcast network configuration. For either typeof network, various other forms of data may be transmitted via anInternet-based network 120 connection rather than using the televisionservice provider's proprietary network. For instance, EPG data may betransmitted to television receivers via the network 120 (e.g., Internet)connection. As another example, firmware and/or software updates may betransmitted on demand to a television receiver via the Internet ratherthan the television receiver receiving the update via the televisionprogramming broadcast network.

FIG. 2 illustrates a receiver 200 that makes use of and/or interactswith a content augmentation system, in accordance with certainembodiments of the present disclosure. Certain embodiments of thereceiver 200 may include set top boxes (STBs), television receivers, andover-the-top receivers. In some embodiments, the receiver 200 maycorrespond to the television receiver 110. In various embodiments, inaddition to being in the form of a STB, a receiver may be incorporatedas part of another device, such as a television or other form of displaydevice, such as a computer, smartphone, tablet, or other handheldportable electronic device. For example, a television may have anintegrated receiver (which does not involve an external STB beingcoupled with the television).

The receiver 200 may represent receiver 110 of FIG. 1 and may be in theform of a STB that communicates with a display device such as atelevision. The receiver 200 may be incorporated as part of atelevision, such as the display device 160 of FIG. 1 or television 200of FIG. 2, etc. The receiver 200 may include: processors 210 (which mayinclude control processor 210-1, tuning management processor 210-2, andpossibly additional processors), tuners 215, network interface 220,non-transitory computer-readable storage medium 225, electronicprogramming guide (EPG) database 230, networking information table (NIT)240, digital video recorder (DVR) database 245 (which may includeprovider-managed television programming storage and/or user-definedtelevision programming), on-demand programming 227, accessibility module232, commercial database 246, user interface 250, decryption device 260,decoder module 233, interface 235, and/or descrambling engine 265. Inother embodiments of receiver 200, fewer or greater numbers ofcomponents may be present. It should be understood that the variouscomponents of receiver 200 may be implemented using hardware, firmware,software, and/or some combination thereof. Functionality of componentsmay be combined; for example, functions of descrambling engine 265 maybe performed by tuning management processor 210-2. Further,functionality of components may be spread among additional components;for example, PID filters 255 may be handled by separate hardware fromprogram map table 257. The receiver 200 may be in data communicationwith accessibility system 251, such as by way of network interface 220.

The processors 210 may include those configured to perform processessuch as tuning to a particular channel, accessing and displaying EPGinformation from the EPG database 230, and/or receiving and processinginput from a user. For example, the processors 210 may include one ormore processors dedicated to decoding video signals from a particularformat, such as MPEG, for output and display on a television and forperforming decryption, if required. It should be understood that thefunctions performed by various modules of FIG. 2 may be performed usingone or more processors. As such, for example, functions of thedescrambling engine 265 may be performed by the control processor 210-1.

The control processor 210-1 may communicate with tuning managementprocessor 210-2. The control processor 210-1 may control the recordingof television channels based at least in part on timers stored in theDVR database 245. The control processor 210-1 may also provide commandsto the tuning management processor 210-2 when recording of a televisionchannel is to cease. In addition to providing commands relating to therecording of television channels, the control processor 210-1 mayprovide commands to the tuning management processor 210-2 that indicatetelevision channels to be output to the decoder module 233 for output toa display device. The control processor 210-1 may also communicate withthe network interface 220 and the user interface 250. The controlprocessor 210-1 may handle incoming data from network interface 220,including network transport streams received from over-the-top serviceproviders. The control processor 210-1 may handle incoming data from thenetwork interface 220, including network transport streams received fromthe user interface 250, which may include user input received by way ofone or more human interface devices. Additionally, the control processor210-1 may be configured to output data via the network interface 220.The control processor 210 may also be configured to perform image andaudio analysis, such as to identify contextual aspects present in anaudio or video stream, for example facial recognition or voicerecognition.

The tuners 215 may include one or more tuners used to tune totransponders that include broadcasts of one or more television channelsthat may be received from a satellite or cable system, for example. Inthe illustrated embodiment of receiver 200, three tuners are present(tuner 215-1, tuner 215-2, and tuner 215-3). In other embodiments, twoor more than three tuners may be present, such as four, six, or eighttuners. Each tuner contained in the tuners 215 may be capable ofreceiving and processing a single transponder stream from a satellitetransponder at a given time, for example. As such, a single tuner maytune to a single transponder stream at a given time. If the tuners 215include multiple tuners, one tuner may be used to tune to a televisionchannel on a first transponder stream for display using a television,while another tuner may be used to tune to a television channel on asecond transponder for recording and viewing at some other time. Ifmultiple television channels transmitted on the same transponder streamare desired, a single tuner of the tuners 215 may be used to receive thesignal containing the multiple television channels for presentationand/or recording. The tuners 215 may receive commands from the tuningmanagement processor 210-2. Such commands may instruct the tuners 215which frequencies are to be used for tuning.

The network interface 220 may be used to communicate via an alternatecommunication channel with a television service provider, if suchcommunication channel is available. The primary communication channelmay be via satellite (which may be unidirectional to the receiver 200)and the alternate communication channel (which may be bidirectional) maybe via a network, such as the Internet. Referring back to FIG. 1,receiver 110 may be able to communicate with television service providersystem 102 via a network 120, such as the Internet. This communicationmay be bidirectional: data may be transmitted from the receiver 110 tothe television service provider system 102 and from the televisionservice provider system 102 to the receiver 110. Referring back to FIG.2, the network interface 220 may be configured to communicate via one ormore networks, such as the Internet, to communicate with televisionservice provider system 102 of FIG. 1.

Other information may be transmitted and/or received via the networkinterface 220. For example, commands, data, etc. may be transmitted toand/or received from the augmentation subsystem 251, such as datarepresenting interface elements to be displayed or output by theaugmentation subsystem 251 and/or the receiver 200 and the display 160.For example, augmented context interface elements or data correspondingto the interface elements may be transmitted to the augmentationsubsystem 251 by way of the network interface 220 for display or outputby the augmentation subsystem 251.

The storage medium 225 may represent one or more non-transitorycomputer-readable storage mediums. The storage medium 225 may includememory and/or a hard drive. The storage medium 225 may be used to storeinformation received from one or more satellites and/or informationreceived via the network interface 220. The storage medium 225 may storeinformation related to the EPG database 230, augmentation module 232 andrelated preferences, other non-video/audio data 231, DVR database 245,commercial database 246, and/or on-demand programming 227. Recordedtelevision programs may be stored using the storage medium 225 as partof the DVR database 245. The storage medium 225 may be partitioned orotherwise divided (such as into folders) such that predefined amounts ofthe storage medium 225 are devoted to storage of television programsrecorded due to user-defined timers and stored television programsrecorded due to provider-defined timers.

The EPG database 230 may store information related to televisionchannels and the timing of programs appearing on such televisionchannels. The EPG database 230 may be stored using the storage medium225, which may be a hard drive. Information from the EPG database 230may be used to inform users of what television channels or programs arepopular and/or provide recommendations to the user. Information from theEPG database 230 may provide the user with a visual interface displayedby a television that allows a user to browse and select televisionchannels and/or television programs for viewing and/or recording.Information used to populate the EPG database 230 may be received viathe network interface 220 and/or via satellites, such as the satellite106 of FIG. 1 via the tuners 215. For instance, updates to the EPGdatabase 230 may be received periodically via satellite. The EPGdatabase 230 may serve as an interface for a user to control DVRfunctions of the receiver 200, and/or to enable viewing and/or recordingof multiple television channels simultaneously. Information from EPGdatabase 230 may be output as a video stream to a display device. Aparticular user may issue commands indicating that an EPG interface bepresented. A user issuing a command that an EPG be displayed mayconstitute a change command.

The augmentation module 232 may implement various functionality into thereceiver 200 related to the augmentation subsystem 251. For example, theaugmentation module 232 may allow for augmentation of an electronicprogram guide according to system-generated recommendations of content,as disclose herein. In some embodiments, the augmentation module 232 mayperform contextual analysis and obtain contextual data for display oroutput by the augmentation subsystem 251, such as to obtain dataregarding persons identified in video and prepare the data fortransmission to and output by the augmentation subsystem 251. As anexample, the augmentation module 232 may identify a number of personsdisplayed on screen, objects displayed on screen, text displayed onscreen, etc., and provide this information to the augmentation subsystem251 for output. Additionally, in some embodiments, the augmentationmodule 232 may identify interface elements included in a user interfacegenerated by the receiver 200 and transmit data relating to theinterface elements to the augmentation subsystem 251 for output. Forexample, the augmentation module 232 may directly generate accessibleinterface elements for transmission to the augmentation subsystem 251.In some embodiments, the augmentation module 232 may simply transmitdata to be included in the interface element so that the augmentationsubsystem 251 may process and generate an interface element for output.The augmentation module 232 may further control and store userpreferences relating to augmentation features and the augmentationsubsystem 251, e.g., in the user profiles 257.

In some embodiments, the control processor 210-1 may include anaudiovisual control engine 211 that may manage augmentations, which maybe video augmentations, EPG augmentations, and/or the like based atleast in part on user selections made via the augmented contextinterface, user profile information 257, and/or the rules 258. Theaudiovisual control engine 211 may cause output via television interface235 that facilitates augmentations for particular viewers and viewerselections.

Some embodiments could employ facial and/or object recognition as partof the audiovisual control engine 211. In some embodiments, the imagehandling features of the audiovisual control engine 211 may performcorrelation of images captured with the augmentation subsystem 251 toreference images, which may be available from a remote source and/orwhich may be stored in a image data repository 259. The image data couldinclude any suitable facial or object trait qualifications for specificindividuals or objects in any suitable form for correlation. It will beappreciated that a variety of sources for the facial information mayexist, such as a network or Internet source such as a local databasecontained within the accessibility system that may be optionally updatedperiodically or aperiodically. In some embodiments, image and/or facialrecognition algorithms performed by the augmentation system 251Optionally, images of faces may be transmitted to an external networkservice provider, such as a facial recognition provider to identify anidentity of faces contained in the images.

The network information table (NIT) 240 may store information used bythe receiver 200 to access various television channels. The NIT 240 maybe stored locally by a processor, such as the tuning managementprocessor 210-2 and/or by the storage medium 225. Information used topopulate the NIT 240 may be received via satellite (or cable) throughthe tuners 215, may be received via the network interface 220, such asfrom the television service provider. As such, information present inthe NIT 240 may be periodically updated. In some embodiments, NIT 240may be locally-stored by the receiver 200 using the storage medium 225.Generally, the NIT 240 may store information about a service providernetwork, such as a satellite-based service provider network. Informationthat may be present in the NIT 240 may include: television channelnumbers, satellite identifiers (which may be used to ensure differentsatellites are tuned to for reception of desired television channels),frequency identifiers, transponder identifiers for various televisionchannels, antenna identifiers (which may be used to ensure differentantennas are tuned to for reception of desired television channels),radio frequency identifiers, and/or subchannel identifiers for varioustelevision channels. In some embodiments, the NIT 240 may containadditional data or additional tables may be stored by the receiver. Forexample, while specific audio PIDs and video PIDs may not be present inthe NIT 240, a channel identifier may be present within the NIT 240which may be used to look up the audio PIDs and video PIDs in anothertable, such as a program map table (PMT). In some embodiments, a PIDassociated with the data for the PMT is indicated in a separate table,program association table (PAT), which is not illustrated in FIG. 2. APAT may be stored by the receiver in a similar manner to the NIT. Forexample, a PMT may store information on audio PIDs, and/or video PIDs. APMT stores data on ECM (entitlement control message) PIDs for televisionchannels that are transmitted on a transponder stream, transport stream,or digital broadcast. If, for a first television channel, multipletelevision channels are to be tuned to, the NIT 240 and/or the PMT 257may indicate a second television channel that is to be tuned to when afirst channel is tuned to; this may allow for switching to output of thesecond television channel for different commercials, for example.

A table, such as the NIT, PAT, or PMT may store indications of PIDs thatare related to supplemental audio content for individual channels orother forms of content. For instance, each television channel may beassociated with a different supplemental audio PID. If supplementalaudio content is to be transmitted for a given television channel,packets containing the supplemental audio are transmitted to thereceiver having its associated supplemental audio content PID. This PIDcould be distinct from any of the audio programs of the televisionprogramming (e.g., the first audio program, second audio program (SAP),actual descriptive audio). In some embodiments, supplemental audiocontent is transmitted using the same transponder stream as thetelevision channel or content to which the supplemental audio contentcorresponds. In some embodiments, a single supplemental audio PID isused to identify supplemental audio for multiple television channels,such as all the television channels on a given transponder. A secondidentifier present within the supplemental audio data may be used todistinguish for which television channel the supplemental audio datacorresponds.

Based at least in part on information in the NIT, it may be possible todetermine the proper satellite and transponder to which to tune for aparticular television channel, or to determine the proper antenna andfrequency to which to tune to for a particular television channel. Insome embodiments, the NIT may list a particular frequency to which totune for a particular television channel. Once tuned to the propersatellite/transponder/antenna/frequency, the PMT PID may be used toretrieve a program map table that indicates the PIDs for audio and videostreams of television channels transmitted by that transponder.

While a large portion of storage space of the storage medium 225 may bedevoted to storage of television programming, a portion may be devotedto storage of non-audio/video data, such as the EPG database 230 andother non-video/audio data 231. This “other” data may permit thereceiver 200 to function properly. In some embodiments, at least tengigabytes are allocated to such other data. For example, if the NIT 240is stored by the storage medium 225, it may be part of the othernon-video/audio data 231.

The decoder module 233 may serve to convert encoded video and audio intoa format suitable for output to a display device. For instance, thedecoder module 233 may receive MPEG video and audio from the storagemedium 225, the network interface 220, or the descrambling engine 265 tobe output to a television. MPEG video and audio from the storage medium225 may have been recorded to the DVR database 245 as part of apreviously-recorded television program. The decoder module 233 mayconvert the MPEG video and audio into a format appropriate to bedisplayed by a television or other form of display device and audio intoa format appropriate to be output from speakers, respectively. Thedecoder module 233 may have the ability to convert a finite number oftelevision channel streams received from the storage medium 225, thenetwork interface 220, or the descrambling engine 265 simultaneously.For instance, each of the decoders 234 within the decoder module 233 maybe able to only decode a single television channel at a time.

While a television channel is being decoded by a decoder of the decoders234, the television channel is not necessarily output to a displaydevice via the television interface 235. For instance, a televisionchannel may be decoded but not output to allow for seamless ornear-seamless switching to the television channel when output isdesired. For example, if a second television channel is to be output forpresentation during commercial breaks on a first television channel, thesecond television channel and the first television channel may each becontinuously decoded by different decoders of the decoder module 233 toallow for fast switching between the channels. Without a televisionchannel being continuously decoded, fast switching may be difficult dueat least in part to the format in which the channel is encoded. Forinstance, for MPEG encoding, it may be necessary to first decode anI-frame before certain subsequent (or earlier) received frames may beproperly decoded. The output of the decoder, which is provided to thetelevision interface 235, may be controlled by the control processor210-1, or some other processor. While the decoder module 233 isillustrated as having three decoders 234 (decoder 234-1, decoder 234-2,and decoder 234-3), in other embodiments, a greater or fewer number ofdecoders may be present in the receiver 200.

The television interface 235 may serve to output a signal to atelevision (or another form of display device) in a proper format fordisplay of video and playback of audio. As such, the televisioninterface 235 may output one or more television channels, storedtelevision programming from the storage medium 225 (e.g., televisionprograms from the DVR database 245, television programs from on-demandprogramming 227 and/or information from the EPG database 230) to atelevision for presentation.

Digital Video Recorder (DVR) functionality may permit a televisionchannel to be recorded for a period of time. DVR functionality of thereceiver 200 may be managed by the control processor 210-1. The controlprocessor 210-1 may coordinate the television channel, start time, andstop time of when recording of a television channel is to occur. The DVRdatabase 245 may store information related to the recording oftelevision channels. The DVR database 245 may store timers that are usedby the control processor 210-1 to determine when a television channelshould be tuned to and its programs recorded to the DVR database 245 ofstorage medium 225. In some embodiments, a limited amount of the storagemedium 225 may be devoted to the DVR database 245. Timers may be set bythe television service provider and/or one or more users of the receiver200.

The DVR database 245 may also be used to record recordings of serviceprovider-defined television channels. For each day, an array of filesmay be created. For example, based at least in part on provider-definedtimers, a file may be created for each recorded television channel for aday. For example, if four television channels are recorded from 6-10 PMon a given day, four files may be created (one for each televisionchannel). Within each file, one or more television programs may bepresent. The service provider may define the television channels, thedates, and the time periods for which the television channels arerecorded for the provider-defined timers. The provider-defined timersmay be transmitted to the receiver 200 via the television provider'snetwork. For example, referring to the satellite television distributionsystem 100 of FIG. 1, in a satellite-based television service providersystem, data necessary to create the provider-defined timers at thereceiver 110 may be received via satellite. It will be appreciated thataccessibility systems described herein may be configured to receive andor identify provider-defined timers as interface elements, such asinterface elements having a particular focus, and may generateaccessible interface elements corresponding to accessible alternativeversions of the provider-defined timers.

As an example of DVR functionality of the receiver 200 being used torecord based at least in part on provider-defined timers, a televisionservice provider may configure the receiver 200 to record televisionprogramming on multiple, predefined television channels for a predefinedperiod of time, on predefined dates. For instance, a television serviceprovider may configure the receiver 200 such that television programmingmay be recorded from 7 to 10 PM on NBC, ABC, CBS, and FOX on eachweeknight and from 6 to 10 PM on each weekend night on the samechannels. These channels may be transmitted as part of a singletransponder stream such that only a single tuner needs to be used toreceive the television channels. Packets for such television channelsmay be interspersed and may be received and recorded to a file. If atelevision program is selected for recording by a user and is alsospecified for recording by the television service provider, the userselection may serve as an indication to save the television program foran extended time (beyond the time which the predefined recording wouldotherwise be saved). Television programming recorded based at least inpart on provider-defined timers may be stored to a portion of thestorage medium 225 for provider-managed television programming storage.

User profiles 257 may include stored user preferences that may beexplicitly configured by users or inferred by the television receiver200 based at least in part on selections made with respect to augmentedcontent in accordance with certain embodiments disclosed herein. Theuser profiles 257 may include profiles for multiple users or may includea single profile for the television receiver in general. In someembodiments, a user is permitted to select which user profile of theuser profiles 257 is active. For instance, a user can log on totelevision receiver 200. In some embodiments, the user profiles 257 mayinclude preferences for customized content presentation adjustmentsdisclosed herein. The preferences could include customized viewinginterests, such as programming content, advertising content, productcontent, and/or the like that corresponds to augmented contentselections relating to recognized actors and/or products. The userprofiles 257 may further include user feedback received from the userregarding customizations. The feedback data may be used to refine thecustomizations for particular viewers and types of contentcustomizations.

In some embodiments, rules 258 may include one or more rules formatching a set of one or more facial or object features to a set of oneor more augmentation adjustments, as disclosed further herein. In someembodiments, the rules 258 may include criteria for matching a set ofindicia of viewer interest to a set of one or more categories. In someembodiments, the rules 258 may include criteria for matching a set ofone or more categories to a set of one or more augmentationcustomizations.

The on-demand programming 227 may represent additional televisionprogramming stored by the storage medium 225. The on-demand programming227 may include television programming that was not recorded to thestorage medium 225 via a timer (either user- or provider-defined).Rather, on-demand programming is programming provided to the receiverdirectly for storage by the receiver and for later presentation to oneor more users. The on-demand programming 227 may not be user-selected.As such, the television programming stored to the on-demand programmingstorage 227 may be the same for each receiver of a television serviceprovider.

The user interface 250 may include a remote control (physically separatefrom the receiver 200) and/or one or more buttons on the receiver 200that allow a user to interact with the receiver 200. The user interface250 may be used to select a television channel for viewing, viewinformation from the EPG database 230, and/or program a timer stored toDVR database 245, wherein the timer is used to control the DVRfunctionality of the control processor 210-1. The user interface 250 mayalso be used to transmit commands to the receiver 200.

Referring back to the tuners 215, television channels received viasatellite (or cable) may contain at least some scrambled data. Packetsof audio and video may be scrambled to prevent unauthorized users (e.g.,nonsubscribers) from receiving television programming without paying thetelevision service provider. When a tuner of the tuners 215 is receivingdata from a particular transponder of a satellite, the transponderstream may be a series of data packets corresponding to multipletelevision channels. Each data packet may contain a packet identifier(PID), which, in combination with the NIT 240 and/or the PMT 257, may bedetermined to be associated with a particular television channel.Particular data packets, referred to as entitlement control messages(ECMs), may be periodically transmitted. ECMs may be associated withanother PID and may be encrypted; the receiver 200 may use thedecryption device 260 to decrypt ECMs. Decryption of an ECM may only bepossible if the user has authorization to access the particulartelevision channel associated with the ECM. When an ECM is determined tocorrespond to a television channel being stored and/or displayed, theECM may be provided to the decryption device 260 for decryption.

The decryption device 260 may be a removable or non-removable smartcard. When the decryption device 260 receives an encrypted ECM, thedecryption device 260 may decrypt the ECM to obtain some number ofcontrol words. In some embodiments, from each ECM received by thedecryption device 260, two control words are obtained. In someembodiments, when the decryption device 260 receives an ECM, it comparesthe ECM to the previously received ECM. If the two ECMs match, thesecond ECM is not decrypted because the same control words would beobtained. In other embodiments, each ECM received by the decryptiondevice 260 is decrypted; however, if a second ECM matches a first ECM,the outputted control words will match; thus, effectively, the secondECM does not affect the control words output by the decryption device260. The decryption device 260 may be permanently part of the receiver200 or may be configured to be inserted and removed from the receiver200. In some embodiments, the control processor 210-1, the tuningmanagement processor 210-2, or other hardware may be able to determinethat a received ECM has not changed from the previous iteration, andtherefore not provide the repeated ECM to the smart card, since the samecontrol word(s) will be obtained.

The tuning management processor 210-2 may be in communication with thetuners 215 and the control processor 210-1. The tuning managementprocessor 210-2 may be configured to receive commands from the controlprocessor 210-1. Such commands may indicate when to start/stop recordinga television channel and/or when to start/stop causing a televisionchannel to be output to a television. The tuning management processor210-2 may control the tuners 215. From the tuners 215, the tuningmanagement processor 210-2 may receive transponder streams of packetizeddata. From the network interface 220, the tuning management processor210-2 may receive network transport stream of packetized data. Aspreviously detailed, some or all of these packets may include a PID thatidentifies the content of the packet.

The tuning management processor 210-2 may be configured to create one ormore PID filters 255 that sort packets received from the tuners 215and/or the network interface 220 based at least in part on the PIDs.When a tuner is initially tuned to a particular frequency (e.g., to aparticular transponder of a satellite), a PID filter may be createdbased at least in part on the PMT data. The PID created, based at leastin part on the PMT data packets, may be known because it is stored aspart of the NIT 240 or another table, such as a program associationtable (PAT). From the PMT data packets, PMT may be constructed by thetuning management processor 210-2.

The PID filters 255 may be configured to filter data packets based atleast in part on PIDs. In some embodiments, the PID filters 255 arecreated and executed by the tuning management processor 210-2. For eachtelevision channel to be output for presentation or recorded, a separatePID filter may be configured. In other embodiments, separate hardwaremay be used to create and execute such PID filters. Depending on atelevision channel selected for recording/viewing, a PID filter may becreated to filter: (1) the video packets associated with the televisionchannel; (2) the audio packets associated with the television channel;and (3), if enabled, supplemental audio content for use in conjunctionwith interactive content. The PMT 257 may store the particularassignments of PIDs for individual television channels. For example, ifa transponder data stream includes multiple television channels, datapackets corresponding to a television channel that is not desired to bestored or displayed by the user may be ignored by the PID filters 255and not routed to the descrambling engine 265, the decryption device260, or the control processor 210-1. As such, only data packetscorresponding to the one or more television channels desired to bestored and/or displayed may be filtered and passed to either thedescrambling engine 265 or the decryption device 260; other data packetsmay be ignored. For each television channel, a stream of video packets,a stream of audio packets (one or both of the audio programs), a streamof supplemental audio content, and/or a stream of ECM packets may bepresent, each stream identified by a PID. In some embodiments, a commonECM stream may be used for multiple television channels. Additional datapackets corresponding to other information, such as updates to the NIT240, may be appropriately routed by the PID filters 255. At a giventime, one or multiple PID filters may be executed by the tuningmanagement processor 210-2.

The descrambling engine 265 may use the control words output by thedecryption device 260 in order to descramble video and/or audiocorresponding to television channels for storage and/or presentation.Video and/or audio data contained in the transponder data streamreceived by the tuners 215 may be scrambled. Video and/or audio data maybe descrambled by the descrambling engine 265 using a particular controlword. Which control word output by the decryption device 260 to be usedfor successful descrambling may be indicated by a scramble controlidentifier present within the data packet containing the scrambled videoor audio. Descrambled video and/or audio may be output by thedescrambling engine 265 to the storage medium 225 for storage (in theDVR database 245) and/or to the decoder module 233 for output to atelevision or other presentation equipment via the television interface235.

For simplicity, the receiver 200 of FIG. 2 has been reduced to a blockdiagram; commonly known parts, such as a power supply, have beenomitted. Further, some routing between the various modules of thereceiver 200 has been illustrated. Such illustrations are for exemplarypurposes only. The state of two modules not being directly or indirectlyconnected does not indicate the modules cannot communicate. Rather,connections between modules of the receiver 200 are intended only toindicate possible common data routing. It should be understood that themodules of the receiver 200 may be combined into a fewer number ofmodules or divided into a greater number of modules.

Further, the components of the television receiver 200 may be part ofanother device, such as built into a television. The television receiver200 may include one or more instances of various computerizedcomponents, such as disclosed in relation to computer systems disclosedfurther herein. While the television receiver 200 has been illustratedas a satellite receiver, it is to be appreciated that techniques belowmay be implemented in other types of television receiving devices, suchas cable receivers, terrestrial receivers, IPTV receivers or the like.In some embodiments, the television receiver 200 may be configured as ahybrid receiving device, capable of receiving content from disparatecommunication networks, such as satellite and terrestrial televisionbroadcasts. In some embodiments, the tuners may be in the form ofnetwork interfaces capable of receiving content from designated networklocations.

FIGS. 3A and 3B are simplified illustrations of an augmented contentsubsystem 300, in accordance with certain embodiments of the presentdisclosure. The augmented content subsystem 300 may include thetelevision receiver 110-2. The augmented content subsystem 300 mayinclude a display device 160-1 communicatively coupled with thetelevision receiver 110-2. The television receiver 110-2 may becommunicatively coupled with a media service back-end 302, which maycorrespond to certain upstream elements of FIG. 1 and may include thenetwork 120-1.

The augmented content subsystem 300 may include any one or combinationof computing devices 116 a-d. Depicted are two examples of a computingdevice 116 c and a computing device 116 d. Though both examples aredepicted, a user 350 may only use one computing device 116 in certainuse cases. A number of other examples are possible, but not shown.

In some embodiments, the display 160 and/or the television receiver 110may be controlled by the user 550 using the computing device 116 to sendwireless signals 376 to communicate with the television receiver device110 and/or the display 160. The computing device 116 may receivewireless signals 277 from the television receiver device 110 toeffectuate bi-directional communication. The computing device 116 mayfurther receive and send wireless signals 386, 387 from the network 120through various means such as a Wi-Fi router, modem, cellular accesspoints, and/or the like.

As disclosed with respect to various embodiments herein, the augmentedcontent subsystem 300 may facilitate analysis of the video obtained bythe computing device(s) 116 to identify one or more contextual elements.For example, the video may be analyzed using facial recognition, objectrecognition, shape recognition, textual recognition, and/or the like toidentify contextual elements. As an example, the video received by thecomputing device 116 may be analyzed to identify actors and/orcharacters depicted in the video. Alternatively or additionally, thevideo may be analyzed to determine objects in the video (e.g., products,locations depicted, etc.). Based at least in part on the facial and/orobject recognition from the video, the television receiver 110 and/orthe computing device 116 may gather contextual elements pertinent to theindividuals and/or objects recognized, and may generate user-selectableoptions pertinent to the individuals recognized (illustrated by FIG. 3A)and/or user-selectable options pertinent to the objects recognized(illustrated by FIG. 3B).

Certain embodiments may utilize the captured image data and gatheredcontent to generate and present augmented reality on the computingdevice 116 to display the actor and/or object with an augmented realityoverlay 316 of content on images currently captured with the camera ofthe computing device. The user-selectable options 318 presented with theoverlay 316 may allow for taking actions pertinent to the recognizedactors and/or objects (e.g., to find more movies and shows with thatrecognized actor, to purchase the recognized product from an onlinevendor, and/or the like). In certain embodiments, the computing device116 may communicate with the television receiver 110 to pull information(e.g., electronic programming guide information and/or other scheduleinformation) and generate and present an augmented reality overlay 316based at least in part on the pulled information.

Certain embodiments may further generate user-selectable options forpresentation on the computing device 116 and/or with an electronicprogramming guide displayed via the display 160 to prompt a user toschedule recordings of discovered programs that are related to therecognized actors and/or objects. In some embodiments, the computingdevice 116 may communicate with the receiver 110 to customize theelectronic programming guide so that upcoming programming content isflagged based at least in part on interests of the user inferred fromaugmented reality selections. For example, if a user capture images ofan actor and makes a selection of user-selectable option pertaining tothe recognized actor, an interest in the actor may be inferred by thesystem as a basis for searching for and flagging upcoming programsinvolving the actor. With some embodiments, the computing device 116 maycommunicate with the receiver 110 to automatically create recordingsettings to record programs based at least in part on the augmentedreality and selections made therewith.

In some embodiments, the computing device 116 may use the recognizedactors and/or objects and the pulled content to generate augmentedreality to facilitate product placement in the home. For example, thecomputing device 116 may capture an image of a fridge, pull options forfridges from remote online resources, and display contextual interfaceelements corresponding to the options. In some embodiments, thecomputing device 116 may aggregrate, process, format, crop, rescale,and/or otherwise prepare images of the products for display the productoptions as overlay on images currently being captured by the computingdevice 116 (e.g., an image of a fridge as an overlay on images of akitchen being captured by the camera of the mobile device). In someembodiments, the computing device may use the recognized actors and/orobjects and the pulled content to generate augmented reality tofacilitate projections of captured images and masks based at least inpart on the recognized actors and/or objects. Some embodiments mayfurther provide for the computing device to casts image to the receiver,and the receiver may use the images for overlays with programmingcontent.

FIG. 4 is a block diagram of a system 400 including one non-limitingexample of a computing device 116 configured to facilitate contentdiscovery based at least in part on augmented context, in accordancewith certain embodiments of the present disclosure. The computing device116 may be a portable device suitable for sending and receivinginformation to/from the receiver 110 and over a network to/from remotedata sources (e.g., service providers 122 and online content sources112) in accordance with embodiments described herein. For example, invarious embodiments, the computing device 116 may correspond to one ormore of computing devices 116 c, 116 d depicted in FIGS. 1 and 2, and/orother computing devices 116 a, 106 b depicted in FIG. 1.

In some embodiments, the computing device 116 may be provided with anapplication 451, which may, in some embodiments, correspond to a mobileapplication configured to run on the computing device 116 to facilitatevarious embodiments of this disclosure. For example without limitation,the mobile application 451 may transform the computing device 116 intoan augmented reality generator to facilitate features of variousembodiments disclosed herein. In various embodiments, the application451 can be any suitable computer program that can be installed and runon the computing device 116, and, in some embodiments, the application451 may not be a mobile app but may be another type of application, setof applications, and/or other executable code configured to facilitateembodiments disclosed herein. The application 451 may be provided in anysuitable way. For non-limiting example, the application 451 may be madeavailable from a website, an application store, the service provider102, etc. for download to the computing device 116; alternatively, itmay be pre-installed on the computing device 116.

In various embodiments, the computing device 116 configured with theapplication 451 may provide one or more display screens that may eachinclude one or more user interface elements. A user interface mayinclude any text, image, and/or device that can be displayed on adisplay screen for providing information to a user and/or for receivinguser input. A user interface may include one or more widgets, text, textboxes, text fields, tables, grids, charts, hyperlinks, buttons, lists,combo boxes, checkboxes, radio buttons, and/or the like. As shown inFIG. 4, the computing device 116 includes a display 420 and inputelements 432 to allow a user to input information into the computingdevice 116. By way of example without limitation, the input elements 432may include one or more of a keypad, a trackball, a touchscreen, atouchpad, a pointing device, a microphone, a voice recognition device,or any other appropriate mechanism for the user to provide input.

In various embodiments, the computing device 116 may pull contentobjects of any suitable type from the receiver 110 and/or from onlinedata sources via the network 120 in order to provide the content objectsto a user of the computing device 116 through the application 451. Theapplication 451 can include a utility that communicates with thereceiver 110 and/or from online data sources via the network 120 tocontrol downloading, displaying, caching, and/or other operationsconcerning the handling of content objects. The application 451 and thecomputing device 116 may cooperate with the receiver 110 to facilitatetracking of (and customizations of user profiles and other featuresdisclosed herein based at least in part on) user selections in responseto content objects displayed through the one or more additionalapplications.

The user selection of a user-selectable option corresponding to theapplication 451 may involve any one or combination of various userinputs. The user selection may be in the form of a keyboard/keypadinput, a touch pad input, a track ball input, a mouse input, a voicecommand, etc. For example, the content object may be selected by theuser by pointing and clicking on a content object. As another example, acontent object may be selected by an appropriate tap or movement appliedto a touch screen or pad of the computing device 116.

The computing device 116 includes a memory 434 communicatively coupledto a processor 436 (e.g., a microprocessor) for processing the functionsof the computing device 116. The computing device 116 may include atleast one antenna 438 for wireless data transfer to communicate througha cellular network, a wireless provider network, and/or a mobileoperator network, such as GSM, for example without limitation, to sendand receive Short Message Service (SMS) messages or UnstructuredSupplementary Service Data (USSD) messages. The computing device 116 mayalso include a microphone 440 to allow a user to transmit voicecommunication through the computing device 116, and a speaker 442 toallow the user to hear voice communication. The antenna 438 may includea cellular antenna (e.g., for sending and receiving cellular voice anddata communication, such as through a network such as a 3G or 4Gnetwork). In addition, the computing device 116 may include one or moreinterfaces in addition to the antenna 438, e.g., a wireless interfacecoupled to an antenna.

The communications interfaces 444 can provide a near field communicationinterface (e.g., contactless interface, Bluetooth, optical interface,infrared interface, etc.) and/or wireless communications interfacescapable of communicating through a cellular network, such as GSM, orthrough Wi-Fi, such as with a wireless local area network (WLAN).Accordingly, the computing device 116 may be capable of transmitting andreceiving information wirelessly through both short range, radiofrequency (RF), cellular, and Wi-Fi connections. The computing device116 may access the network 108 through a wireless link to an accesspoint. For example, a computing device 116 may access the network 108through one or more access points 406. The access points 406 may be ofany suitable type or types. For example, an access point 406 may be acellular base station, an access point for wireless local area network(e.g., a Wi-Fi access point), an access point for wireless personal areanetwork (e.g., a Bluetooth access point), etc. The access point 406 mayconnect the computing device 116 to the network 108, which may includethe Internet, an intranet, a local area network, private communicationnetworks, etc. In some embodiments, the communications interfaces 444may allow computing device 116 to receive programming content cast fromthe television receiver. For example, the programming content from thetelevision receiver may be indirectly transmitted via a local network(e.g., via Wi-Fi) or directly transmitted to the computing device via acasting device integrated with the television receiver or coupled to thetelevision receiver (e.g., via a dongle). As another example, thetelevision receiver may cast programming content to the computing devicevia a wired connection (e.g., via one or more of HDMI, USB, lightningconnector, etc.). Some embodiments may provide for simulcasting suchthat the same programming that is being displayed on the display deviceis being displayed on the computing device 116 simultaneously orsubstantially simultaneously.

The computing device 116 can also include at least one computer-readablemedium 446 coupled to the processor 436, which stores applicationprograms and other computer code instructions for operating the device,such as an operating system (OS) 448. In some embodiments, theapplication 451 may be stored in the memory 434 and/or computer-readablemedia 446. Again, the example of computing device 116 is non-limiting.Other devices, such as those disclosed herein, may be used.

The mobile computing device 436 can additionally include an integratedcamera 454, capable of capturing images and/or video, and outputelements 452. In certain embodiments, the mobile computing device 436may include a non-transitory computer-readable storage medium, e.g.,memory 434, for storing images captured with the camera 454. Inalternative embodiments, the mobile computing device 436 receives imagedata from an image capture device that is not integrated with the mobilecomputing device 436 (e.g., from the receiver 110 and/or the onlinecontent sources 112). With the camera 454, a user may capture images ofdisplayed objects 460 that are displayed by the display device 160. Forexample, the displayed objects 460 may include actors and objectsdisplayed in programming content.

In some embodiments, the computer-readable medium 446 can also includean image-processing engine 446(a). The image-processing engine 446(a)can perform image processing of images captured by the camera 454 toperform image recognition (e.g., facial recognition, productrecognition, and/or the like) of the displayed objects 460. Theimage-processing engine 446(a) may analyze the images and generateaccessible interface elements using the identified and/or analyzedimages. With some embodiments, the image-processing engine 446(a) isseparate from the application 451. In other embodiments, the application451 may include the image-processing engine 446(a). In some embodiments,the computing device 116 provides the captured images to the receiver110, and the receiver 110 performs the image processing and analysis(e.g., via the augmentation module 232). In some embodiments, thecomputing device 116 provides the captured images to the serviceprovider 102 (or another service provider 122), and the service providerperforms the image processing and analysis.

FIG. 5 illustrates a functional diagram of an augmentation system 500,in accordance with certain embodiments of the present disclosure. Insome embodiments, the augmentation system 500 may correspond to aspectsof the television receiver 110 in conjunction with the computing device116. As depicted, the augmentation system 500 includes an audiovisualcontrol engine 511. In various embodiments, the audiovisual controlengine 511 may correspond to the audiovisual control engine 211, theaugmentation module 232, the image processing engine 446(a), and/or theapplication 451. Accordingly, certain embodiments may provide for thereceiver 110 and the computing device 116 working in conjunction toprovide the features of the augmentation system 500. In otherembodiments, the television receiver 110 alone may provide the featuresof the augmentation system 500.

The audiovisual control engine 511 may be communicatively coupled withinterface components and communication channels (e.g., of the televisionreceiver 110, which may take various forms in various embodiments asdisclosed herein) configured to receive augmentation input 502. Asdepicted, the augmentation input 502 may include image input 504. Theimage input 504 may be captured by the computing device 116, asdisclosed herein. The audiovisual control engine 511 may include aharvesting engine 536 configured to aggregate content in order tofacilitate augmentation features disclosed herein. For example, theharvesting engine 536 may aggregrate, process, format, crop, rescale,and/or otherwise prepare images of the face or the object (or portionsof the images where the outer shapes of the face or the objects aredefined as boundaries) for further image processing.

The audiovisual control engine 511 may include a matching engine 538. Insome embodiments, the matching engine 538 could use facial recognitionand/or object recognition to match particular image data to referenceimage data 259-1. Captured image data may be correlated to referenceimages 259-1 using any suitable facial or object trait qualificationsfor correlation. In some embodiments, reference images may be availablefrom a remote source and/or which may be stored locally in a facialimage data repository 259-1. The facial data could include any suitableset of facial trait qualifications (e.g., a number of salient facialfeatures and qualifications of the features) for specific individuals inany suitable form for correlation. In some embodiments, the matchingengine 538 may link a particular individual's image data to profileswith image data associated with individuals, to identify a known personor a new person. In some embodiments, the reference image data 259-1 maybe refined over time as an image baselines for particular individual aredeveloped with additional data captures.

With some embodiments, the matching engine 538 may be configured tomatch particular viewer information captured via the harvesting engine536 to one or more categories from a set of categories 512. For example,the matching engine 538 can receive image input 504 corresponding toimages captured by the user and/or explicit user input 506 correspondingto user selections of options presented with the augmented context userinterface. The matching engine 538 may identify attributes of the usersbased at least in part on the input 504, 506, and may match the user toone or more categories from a category information repository 512. Anysuitable category may be employed to facilitate adjustment features inaccordance various embodiments. By way of example, category informationmay include categories and corresponding criteria to qualify forparticular categories such as actors/actresses, directors, the types oftelevision programming (e.g., series, movies, live events), the durationof programs, the genre of television programming (e.g., drama, comedy,documentary), a rating (e.g., G, PG, PG-13, R), and/or the like. In someembodiments, the rules 258 may include criteria for matching a set ofindicia of viewer interest to a set of one or more categories. In someembodiments, the rules 258 may include criteria for matching a set ofone or more categories to a set of one or more augmentationcustomizations.

The audiovisual control engine 511 may receive content 508 for potentialaugmentation, which content 508 could include any one or combination ofEPG content, program content, and/or audio content. In some embodiments,the content 508 may include the augmentation input 502 and/or pulledinformation pertinent to the augmentation input 502. The audiovisualcontrol engine 511 may include an augmentation engine 540 which may beconfigured to create and/or cause creation of one or more augmentationinterface elements disclosed herein. By way of example, in variousembodiments, the augmentation engine 540 may create and/or causecreation of one or more of augmented overlays 316, user-selectableinterface options 318, augmented EPG content 586, other recommendationnotifications 588, augmented program content 590, and/or the like.

In some embodiments, the audiovisual control engine 511 may identifycontent portions for augmentation by processing the content 508, readingthe content 508 or certain portions thereof, and determine portions foraugmentation in video segments. In some embodiments, portions of imagesand/or frames corresponding to an item may be overwritten, e.g., withcaptured content from the computing device 116 that may correspond to aphoto and/or a mask. The item may correspond to a recognized individualor object. The audiovisual control engine 511 may format, rescale, crop,and/or otherwise prepare captured content for insertion into the contentstream (e.g., as an overlay). The audiovisual control engine 511 maymatch the captured content to a face or object in the content stream.

The augmentation engine 540 may include an item identification componentthat may identify one or more items to be augmented based at least inpart on the augmentation input 502. In some embodiments, the itemidentification component may be configured to examine video content of acontent source for one or more items to be augmented (e.g., faces). Theaugmentation engine 540 may create tag data that defines one or moreareas within frames that correspond to certain faces or objectsrepresented within the frames. For example, a dress worn by an actresscould be represented within the frames, and the tag data could definethe area within the frame that corresponds to the representation of thedress. Such tag data could define the area of interest in any suitableway in various embodiments which could be by way of any one orcombination of mattes, masks, pixel identification (which could, forexample, include identification of pixel coordinates and ranges thereofto define areas of interest), pixel color component characteristics suchas color component values, overlays, and/or the like, allowing forcorrelation of a user customization to the area of interest in anysuitable way. In some embodiments, a processor (such as a mainprocessor, a core processor, digital signal processor, and/or like) maytake a definition of the area of interest with respect to one or morereference frames and may perform auto-correlation of related images in avideo stream to identify/define the areas of interest in other frames ofthe video sequence that represent an item of interest. Imagecharacteristics (e.g., color, brightness, etc.) of the area of interestwith respect to the reference frame(s) could be measured, quantified,and/or otherwise identified, and matched with measured imagecharacteristics of the other frames to define the area of interest inmultiple frames in an image-changing sequence. Accordingly, certainembodiments may allow for handling the complexity of multiple on-screenoptions by differentiating particular items in dynamic, image-changingcontent.

FIG. 6 is a block diagram that illustrates an example method 600 ofcertain features directed to content discovery based at least in part onaugmented context, in accordance with certain embodiments of the presentdisclosure. According to certain embodiments, the method 600 may beginas indicated by block 602. However, teachings of the present disclosuremay be implemented in a variety of configurations. As such, the order ofthe steps comprising the method 600 and/or other methods disclosedherein may be shuffled or combined in any suitable manner and may dependon the implementation chosen. Moreover, while the following steps may beseparated for the sake of description, it should be understood thatcertain steps may be performed simultaneously or substantiallysimultaneously.

In some embodiments, as indicated by block 602, information enablingunique identification of a user and/or a computing device 116 may beprocessed by a receiver 110. In some embodiments, a user may correspondto any user or multiple users associated with a particular accountand/or set of one or more television receivers 110. In some embodiments,a user may correspond to a particular user (e.g., a particular user of ahousehold) and could be identified via user selection/input ofinformation through the computing device 116 and/or the receiver 110.Any suitable user-selectable options could be presented to allow for aparticular user to input identification information through thetelevision receiver 110, which information may then be transmitted tothe service provider system for verification against user informationretained by the service provider system. The service provider system mayuniquely identify the first user based at least in part on any one orcombination of account information, device identification information(e.g., MAC address, IP address, and/or the like), user-providedinformation, and/or the like.

As indicated by block 604, a set of one or more images of a graphicaldisplay of a display device may be acquired by the computing device 116.In some embodiments, a user may use the camera of a computing device 116to capture one or more images (e.g., as photos or videos) of a programthat the user is viewing on a display device. In some embodiments, thecomputing device 116 may capture images as a result of the televisionreceiver 110 casting programming content to the computing device 116 viawireless signals. For example, the programming content from thetelevision receiver 110 may be indirectly transmitted via a localnetwork (e.g., via Wi-Fi) or directly transmitted to the computingdevice 116 via a casting device integrated with the television receiver110 or coupled to the television receiver 110 (e.g., via a dongle). Insome embodiments, the computing device 116 may capture images as aresult of the television receiver 110 casting programming content to thecomputing device 116 via a wired connection (e.g., via one or more ofHDMI, USB, lightning connector, etc.). Some embodiments may provide forsimulcasting such that the same programming that is being displayed onthe display device is being displayed on the computing device 116simultaneously or substantially simultaneously.

As indicated by block 606, the set of one or more images may be analyzedto identify one or more visual characteristics of one or more objects(e.g., individuals or products) represented by the set of one or moreimages. For example, in some instances, the object represented by theone or more images may correspond to a depiction of an actor or otherperson in a television program, movie, commercial, and/or the like. Insome instances, the object represented by the one or more images maycorrespond to a depiction of an inanimate object, such as a productrepresented in a television program, movie, commercial, and/or the like.Such a product could correspond to any number of different types ofproducts, including a vehicle, an article of clothing, accessories, aconsumer appliance, furniture, etc. In some embodiments, the visualcharacteristics of a face or an object may be identified at least inpart by shape recognition of shapes corresponding to the face or theobject. In some embodiments, the visual characteristics of a face or anobject may be identified at least in part by formatting, rescaling,cropping, and/or otherwise preparing images of the face or the object(or portions of the images where the outer shapes of the face or theobjects are defined as boundaries) for further image processing. In someembodiments, images captured may be correlated to reference images,which may be available from a remote source and/or which may be storedlocally in a facial image data repository. Per some embodiments, in thecase of facial recognition, captured image data may be correlated toreference images using any suitable facial trait qualifications forcorrelation. The facial data could include any suitable set of facialtrait qualifications (e.g., a number of salient facial features andqualifications of the features) for specific individuals in any suitableform for correlation. As disclosed herein, a matching engine may link aparticular individual's image data to profiles with image dataassociated with individuals, to identify a known person or a new person.The reference image data may be refined over time as an image baselinesfor particular individual are developed with additional data captures.

In some embodiments, the computing device 116 may perform the analyzingof the one or more images to identify the one or more visualcharacteristics of the object represented by the image(s) (e.g., by wayof the image processing engine 446(a)). In addition or in thealternative, the computing device 116 may transmit the one or moreimages so that the analyzing is performed remotely from the computingdevice 116. For example, the computing device 116 may transmit the oneor more images to a backend system in the cloud, so that a serviceprovider may perform the image analysis and identify the one or morevisual characteristics. With some embodiments, the remote service maytransmit a specification of the one or more visual characteristics tothe computing device 116 in return. As another example, the computingdevice 116 may transmit the one or more images to the televisionreceiver 110, so that the television receiver 110 may perform the imageanalysis and identify the one or more visual characteristics. With someembodiments, the television receiver 110 may transmit a specification ofthe one or more visual characteristics to the computing device 116 inreturn.

As indicated by block 608, based at least in part on the one or morevisual characteristics of the object, one or more attributes of aselected object of the one or more objects may be identified. Theattributes may correspond to one or more identifiers and/or descriptorsof a given object. For example, the system may determine and/or extractdata that may be used to query one or more public and/or private dataresources to acquire information about the particular object. Forexample, the system may determine a name of the particular individualrecognized. As another example, the system may determine a name (e.g.,brand name recognized by distinctive brand marking, such as a badge, apatch, an emblem, and/or the like), model, object type (e.g., a generaltype, such as article of clothing, shirt, etc.), a set of objectsub-types and characteristics (e.g., short-sleeve, button-up, color,collar type, etc.), and/or the like of a particular object recognized.

In some embodiments, the facial and/or inanimate object recognitionprocesses may yield an identification score. Any suitable identificationscale may be used in various embodiments. In some embodiments, anidentification scale could entail an individual scoring system. Someembodiments may score an individual with a numerical expression, forexample, an identification score. For example, in some embodiments, anidentification score may be an assessment of a certainty with which thesystem identifies an individual. By way of example without limitation,an identification scale could include a range of identification scoresfrom 0 to 100, or from 0 to 1,000, with the high end of the scaleindicating greater probability. Some embodiments may use methods ofstatistical analysis to derive an identification score. Variousembodiments may determine an identification score based on any one ormore suitable quantifiers. An identification score may be based at leastin part on the extent to which detected characteristics of the captureddata match previously determined characteristics. With an identificationscore determined, categorizations may be made based on the score. By wayof example without limitation, a score correlated to a 75-100% band maybe deemed a positive identification of an individual; a score correlatedto a 50-75% band may be deemed a possible identification of anindividual; a score correlated to a 25-50% band may be deemed a weakidentification of an individual; a score below a 50% minimum thresholdmay be deemed a weak/insufficient identification of an individual; andscore of zero may correspond to an unknown individual.

In some embodiments, different actions are taken based on the certaintyof the identification. For example, in the cases of a possible or weakidentification, the system may present one or more options to the userto elicit user confirmation of one or more possible individualscorresponding to the captured data as the correct individual. In thecase of a positive identification, the system may present no suchoptions and may proceed without confirmation. In the cases of a weakidentification or no identification, the system may present one or moreoptions to the user to prompt further image capture to facilitate anadditional attempt at recognition. Additionally or alternatively, thesystem may gather contextual information from the receiver about theprogram being displayed. In some embodiments, the contextual informationfrom the receiver may facilitate the identification (e.g., by providinga list of actors/characters corresponding to a show being displayed). Insome embodiments, the contextual information from the receiver mayprovide criteria for further searching remote online resources in orderto facilitate the identification (e.g., by providing a program name,episode, and/or the like which may be used as query criteria searchingfor a list of actors/characters corresponding to a show beingdisplayed).

In some embodiments, as indicated by block 610, one or morespecifications of the one or more attributes of the object may betransmitted, by the computing device 116, to the television receiver 110and/or a remote data source. The one or more specifications maycorrespond to query criteria for searching for pertinent information.For example, the system may initiate a keyword Internet search toacquire and aggregate information about the particular individual orobject, with one or more identifiers and/or descriptors of theindividual or object as at least part of the query criteria. With someembodiments, the transmission of specifications may correspond to thecomputing device 116 pulling information, from the television receiver110 and/or the remote data source, that matches the one or morespecifications.

In some instances, the information pulled may correspond to one or moreof electronic programming guide information, program scheduleinformation, information about one or more recorded programs stored by arecorder. For example, the information pulled may indicate a set of oneor more programming events matching the one or more specifications andavailability of one or more viewing options for the set of one or moreprogramming events. Hence, upcoming movies involving the recognizedactor may be identified. Such identification may be made in conjunctionwith the electronic programming guide information obtained by thereceiver 110. In some instances, programs already recorded by a recorderof the receiver 110 and involving the recognized actor may beidentified.

In some embodiments, as indicated by block 612, based at least in parton the information pulled, an augmented context user interface may becreated for presentation with the computing device 116. Accordingly, thecomputing device 116 may present a different presentation of thecaptured images and additional information pertinent to capture images.In some embodiments, the captured images correspond to images ofprogramming being captured by the computing device 116 and substantiallysimultaneously being displayed by the computing device 116 displaydevice in real time. The augmented context may include at least oneuser-selectable interface element generated for presentation with thecomputing device 116. In some embodiments, the user-selectable interfaceelement may correspond to an option to take an action relating to theobject represented by the first set of one or more images.

In some embodiments, the pulled information may be used to providecontextual information about the individuals and objects of theprogramming displayed on the display device and the computing device116. For example, an actor may be identified to determine and provideidentity information or other related information about the actor (e.g.,biographical information, other programs in which the actor plays,trending/latest news regarding the actor, URLs to websites publishingany such information and/or otherwise related to any such information,and/or the like) to the user, which information may be provided with anaugmented reality overlay on captured images of the programmingdisplayed on the computing device 116. As another example, in additionor alternative to information about the actor, some embodiments mayobtain and provide contextual information about the character shown inthe video.

In some embodiments, the action relating to the object may includerecording at least one of the set of one or more programming eventsmatching the one or more specifications. Hence, the communicationtransmitted to the television receiver 110 may cause a recorder torecord the at least one of the set of one or more programming events. Insome instances, the program of interest may be currently beingbroadcast, in which case the communication transmitted to the televisionreceiver 110 may cause the recorder to immediately begin recording theat least one of the set of one or more programming events. In otherinstances where the at least one of the set of one or more programmingevents is not currently being broadcast but is scheduled for airing inthe future, the communication transmitted to the television receiver 110may cause the recorder to schedule the recording of the at least one ofthe set of one or more programming events.

As indicated by block 614, a visual output of one or moreuser-selectable interface elements may be output, by the computingdevice 116, within the augmented context user interface. The one or moreuser-selectable interface elements may be output as an overlay on thefirst set of one or more images and/or a second set of one or moreimages displayed by the computing device 116. The second set of one ormore images may be based at least in part on further image acquisitionof the graphical display using the image capture device.

As indicated by block 616, the computing device 116 may process aselection responsive to the outputting of the visual output of at leastone of the one or more user-selectable interface elements. As indicatedby block 618, a communication may be transmitted, by the computingdevice 116, to the television receiver 110 to cause the actionresponsive to the user selection. As indicated by block 620, one or moreaugmented context customizations may be created, by the reciever 110,based at least in part on the one or more communications.

In some embodiments, one or more user interests may be inferred based atleast in part on one or more user selections responsive to theoutputting of the visual output of the at least one user-selectableinterface element. In some embodiments, the computing device 116 maytransmit communications to the television receiver 110 to cause one ormore actions based at least in part on the one or more user interestsinferred. For example, such actions may correspond to customizing anelectronic programming guide so that upcoming programming events aregraphically distinguished based at least in part on the one or more userinterests inferred. Such actions may correspond to a recorder recordinga set of one or more programming events based at least in part on theone or more user interests inferred.

The harvesting engine, for example, may capture data about userselections, viewing history, user queries, selections for recordingprograms, and/or the like. User preferences may be stored locally by thetelevision receiver or may be stored remotely by the television serviceprovider, and may define the user's viewing preferences regardingcontent genre, content type, actors, actresses, directors, rating, etc.Compilation of statistics may occur whenever a user interacts with theaugmented context user interface. Statistics may be measured and storedby the television receiver and may be based on characteristics of thetypes of recognized actors, recognized objects, and/or types of requestsmade.

The receiver 110 and/or the computing device 116 may identify attributesof content based at least in part on responses and/or selectionsreceived from the user per the augmented context. The attributes ofcontent could include appearing actors/actresses, directors, the typesof television programming (e.g., series, movies, live events), theduration of programs, the genre of television programming (e.g., drama,comedy, documentary), a rating (e.g., G, PG, PG-13, R), and/or the likematched to the images of individuals captured by the user and theselections the user made with respect to the recognized individuals. Insome embodiments, the user may be matched to one or more categories froma set of categories. In some embodiments, one or more taxonomies thatmap particular profile information to particular categories may be usedin correlating user profile information with one or more categories.

The receiver 110 and/or the computing device 116 may determine contentappropriate for recommendation. Determining whether the content isappropriate for recommendation may include matching the content to auser. Accordingly, if the category of the content matches the inferredcategories of interest of the user, then the content may be deemedappropriate for recommendation.

To identify options for accessing the recommended content, it may bedetermined whether a repeat showing is to be aired. The receiver 110,the computing device 116, and/or the service provider may search for oneor more future repeat showings of the program. Further, it may bedetermined if a staggered broadcast of the television program isavailable via the television service providers distribution network. Oneor more requests may be transmitted to content resources to determine ifthe content resources have the rated content available for retrieval. Insome embodiments, rather than transmitting such a request, a schedule ofavailable content may have been previously obtained from one or morecontent resources. Responses may be received from one or more contentresources indicating the availability of the recommended content.Responses from one or more content resources may be analyzed and/orschedules that indicate the availability of television programs fromcontent resources may be analyzed. A content resource may be a localstorage medium, which may have recorded the rated content of one or moreof the television programs using DVR functionality of the televisionreceiver. A database may be checked to determine if the rated content ofthe television program was recorded by the television receiver. Multipleother content resources may be available via a network connection, suchas previously described public sources, the television service provider,catch-up services, subscription services, television receivers, andother computerized devices, such as illustrated in FIG. 1.

One or more notifications regarding recommended content may be providedto one or more other users. For example, corresponding notifications anduser-selectable options may be provided for the user in any orcombination of ways disclosed herein. In some embodiments, descriptivecontent indicative of the recommended content may be provided with oneor more user-selectable options via the augmented context user interfaceand/or via the electronic programming guide to access the recommendedcontent. In the electronic programming guide, the recommended contentmay be recommended with augmented context, which may include graphicallydistinguishing the content options in the electronic programming guide(e.g. with highlighting, color differentiation, overlays of supplementalcontent, such as an image of the actor of interest which may be onebasis for the recommended and may correspond to the initial imagecaptured by the user with the computing device, a pop-up with suchsupplemental content, and/or the like). Recommendations could beinserted into the EPG and/or into the display when the user is channelsurfing (i.e., viewing multiple programs for short periods of time lessthan a certain threshold). Recommendations could be based on the contentcurrently represented in the EPG and/or currently viewing. In someembodiments, the receiver 110 may be configured to automatically recordall or a subset of the recommended content and retain the content for atime to allow for the user to consider the recommendation.

A user may select an option to access the recommended content, such asvia a remote control and/or the computing device 116 in communicationwith the receiver 110. The selection received by the television receivermay trigger retrieval of the recommended content from a content resourcedetermined to have the recommended content (and/or may triggerscheduling of retrieval for future recording, streaming, etc. of contentanticipated to become available from a content source). Access optionsmay be assessed and retrieval according to a precedence order ofavailability based at least in part on soonest availability and/or someother appropriate basis.

A content resource is selected from which the recommended content is tobe retrieved. In some embodiments, if multiple content resources havethe recommended content available, the user may be prompted to selectfrom which content resource to retrieve the recommended content. In someembodiments, one of multiple content resources having the recommendedcontent may be automatically selected (e.g., based on promptness ofavailability, response time, minimal cost, quality, etc., or based onuser preferences). Access to the recommended content may be providedbased on the selection (e.g., via downloading, streaming, recording,etc.).

In some embodiments, user actions may be monitored, by the receiver 110and/or the computing device 116, for implicit indicia of userpreferences. For example, it may be determined whether the user accessesthe recommended content, which could be correlated to an indicia ofgreater interest. Declining the recommendation could indicate a dislikeof the recommendation or simply a lack of interest. Further, it may bedetermined whether the user not only accesses the recommended content,but also watches all or a significant portion of the content (e.g.,based on comparing the portion watched to a length/time threshold). Anyone or combination of such actions and determinations may be correlatedto indicia of greater or lesser preference in any suitable manner (e.g.,based on a scoring scheme).

A computer system as illustrated in FIG. 7 may be incorporated as partof the previously described computerized devices, such as a televisionreceiver or television service provider system. FIG. 7 provides aschematic illustration of one embodiment of a computer system 700 thatcan perform various steps of the methods provided by variousembodiments. It should be noted that FIG. 7 is meant only to provide ageneralized illustration of various components, any or all of which maybe utilized as appropriate. FIG. 7, therefore, broadly illustrates howindividual system elements may be implemented in a relatively separatedor relatively more integrated manner.

The computer system 700 is shown comprising hardware elements that canbe electrically coupled via a bus 705 (or may otherwise be incommunication, as appropriate). The hardware elements may include one ormore processors 710, including without limitation one or moregeneral-purpose processors and/or one or more special-purpose processors(such as digital signal processing chips, graphics accelerationprocessors, video decoders, and/or the like); one or more input devices715, which can include without limitation a mouse, a keyboard, remotecontrol, and/or the like; and one or more output devices 720, which caninclude without limitation a display device, a printer, and/or the like.

The computer system 700 may further include (and/or be in communicationwith) one or more non-transitory storage devices 725, which cancomprise, without limitation, local and/or network accessible storage,and/or can include, without limitation, a disk drive, a drive array, anoptical storage device, a solid-state storage device, such as a randomaccess memory (“RAM”), and/or a read-only memory (“ROM”), which can beprogrammable, flash-updateable and/or the like. Such storage devices maybe configured to implement any appropriate data stores, includingwithout limitation, various file systems, database structures, and/orthe like.

The computer system 700 might also include a communications subsystem730, which can include without limitation a modem, a network card(wireless or wired), an infrared communication device, a wirelesscommunication device, and/or a chipset (such as a Bluetooth™ device, an802.11 device, a Wi-Fi device, a WiMAX device, cellular communicationdevice, etc.), and/or the like. The communications subsystem 730 maypermit data to be exchanged with a network (such as the networkdescribed below, to name one example), other computer systems, and/orany other devices described herein. In many embodiments, the computersystem 700 will further comprise a working memory 735, which can includea RAM or ROM device, as described above.

The computer system 700 also can comprise software elements, shown asbeing currently located within the working memory 735, including anoperating system 740, device drivers, executable libraries, and/or othercode, such as one or more application programs 745, which may comprisecomputer programs provided by various embodiments, and/or may bedesigned to implement methods, and/or configure systems, provided byother embodiments, as described herein. Merely by way of example, one ormore procedures described with respect to the method(s) discussed abovemight be implemented as code and/or instructions executable by acomputer (and/or a processor within a computer); in an aspect, then,such code and/or instructions can be used to configure and/or adapt ageneral purpose computer (or other device) to perform one or moreoperations in accordance with the described methods.

A set of these instructions and/or code might be stored on anon-transitory computer-readable storage medium, such as thenon-transitory storage device(s) 725 described above. In some cases, thestorage medium might be incorporated within a computer system, such ascomputer system 700. In other embodiments, the storage medium might beseparate from a computer system (e.g., a removable medium, such as acompact disc), and/or provided in an installation package, such that thestorage medium can be used to program, configure, and/or adapt a generalpurpose computer with the instructions/code stored thereon. Theseinstructions might take the form of executable code, which is executableby the computer system 700 and/or might take the form of source and/orinstallable code, which, upon compilation and/or installation on thecomputer system 700 (e.g., using any of a variety of generally availablecompilers, installation programs, compression/decompression utilities,etc.), then takes the form of executable code.

It will be apparent to those skilled in the art that substantialvariations may be made in accordance with specific requirements. Forexample, customized hardware might also be used, and/or particularelements might be implemented in hardware, software (including portablesoftware, such as applets, etc.), or both. Further, connection to othercomputing devices such as network input/output devices may be employed.

As mentioned above, in one aspect, some embodiments may employ acomputer system (such as the computer system 700) to perform methods inaccordance with various embodiments of the invention. According to a setof embodiments, some or all of the procedures of such methods areperformed by the computer system 700 in response to processor 710executing one or more sequences of one or more instructions (which mightbe incorporated into the operating system 740 and/or other code, such asan application program 745) contained in the working memory 735. Suchinstructions may be read into the working memory 735 from anothercomputer-readable medium, such as one or more of the non-transitorystorage device(s) 725. Merely by way of example, execution of thesequences of instructions contained in the working memory 735 mightcause the processor(s) 710 to perform one or more procedures of themethods described herein.

The terms “machine-readable medium,” “computer-readable storage medium”and “computer-readable medium,” as used herein, refer to any medium thatparticipates in providing data that causes a machine to operate in aspecific fashion. These mediums may be non-transitory. In an embodimentimplemented using the computer system 700, various computer-readablemedia might be involved in providing instructions/code to processor(s)710 for execution and/or might be used to store and/or carry suchinstructions/code. In many implementations, a computer-readable mediumis a physical and/or tangible storage medium. Such a medium may take theform of a non-volatile media or volatile media. Non-volatile mediainclude, for example, optical and/or magnetic disks, such as thenon-transitory storage device(s) 725. Volatile media include, withoutlimitation, dynamic memory, such as the working memory 735.

Common forms of physical and/or tangible computer-readable mediainclude, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, or any other magnetic medium, a CD-ROM, any other opticalmedium, any other physical medium with patterns of marks, a RAM, a PROM,EPROM, a FLASH-EPROM, any other memory chip or cartridge, or any othermedium from which a computer can read instructions and/or code.

Various forms of computer-readable media may be involved in carrying oneor more sequences of one or more instructions to the processor(s) 710for execution. Merely by way of example, the instructions may initiallybe carried on a magnetic disk and/or optical disc of a remote computer.A remote computer might load the instructions into its dynamic memoryand send the instructions as signals over a transmission medium to bereceived and/or executed by the computer system 700.

The communications subsystem 730 (and/or components thereof) generallywill receive signals, and the bus 705 then might carry the signals(and/or the data, instructions, etc. carried by the signals) to theworking memory 735, from which the processor(s) 710 retrieves andexecutes the instructions. The instructions received by the workingmemory 735 may optionally be stored on a non-transitory storage device725 either before or after execution by the processor(s) 710.

It should further be understood that the components of computer system700 can be distributed across a network. For example, some processingmay be performed in one location using a first processor while otherprocessing may be performed by another processor remote from the firstprocessor. Other components of computer system 700 may be similarlydistributed. As such, computer system 700 may be interpreted as adistributed computing system that performs processing in multiplelocations. In some instances, computer system 700 may be interpreted asa single computing device, such as a distinct laptop, desktop computer,or the like, depending on the context.

The methods, systems, and devices discussed above are examples. Variousconfigurations may omit, substitute, or add various procedures orcomponents as appropriate. For instance, in alternative configurations,the methods may be performed in an order different from that described,and/or various stages may be added, omitted, and/or combined. Also,features described with respect to certain configurations may becombined in various other configurations. Different aspects and elementsof the configurations may be combined in a similar manner. Also,technology evolves and, thus, many of the elements are examples and donot limit the scope of the disclosure or claims.

Specific details are given in the description to provide a thoroughunderstanding of example configurations (including implementations).However, configurations may be practiced without these specific details.For example, well-known circuits, processes, algorithms, structures, andtechniques have been shown without unnecessary detail in order to avoidobscuring the configurations. This description provides exampleconfigurations only, and does not limit the scope, applicability, orconfigurations of the claims. Rather, the preceding description of theconfigurations will provide those skilled in the art with an enablingdescription for implementing described techniques. Various changes maybe made in the function and arrangement of elements without departingfrom the spirit or scope of the disclosure.

Also, configurations may be described as a process which is depicted asa flow diagram or block diagram. Although each may describe theoperations as a sequential process, many of the operations can beperformed in parallel or concurrently. In addition, the order of theoperations may be rearranged. A process may have additional steps notincluded in the figure. Furthermore, examples of the methods may beimplemented by hardware, software, firmware, middleware, microcode,hardware description languages, or any combination thereof. Whenimplemented in software, firmware, middleware, or microcode, the programcode or code segments to perform the necessary tasks may be stored in anon-transitory computer-readable medium such as a storage medium.Processors may perform the described tasks.

Having described several example configurations, various modifications,alternative constructions, and equivalents may be used without departingfrom the spirit of the disclosure. For example, the above elements maybe components of a larger system, wherein other rules may takeprecedence over or otherwise modify the application of the invention.Also, a number of steps may be undertaken before, during, or after theabove elements are considered.

Furthermore, the example embodiments described herein may be implementedas logical operations in a computing device in a networked computingsystem environment. The logical operations may be implemented as: (i) asequence of computer implemented instructions, steps, or program modulesrunning on a computing device; and (ii) interconnected logic or hardwaremodules running within a computing device.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

Also, the terms in the claims have their plain, ordinary meaning unlessotherwise explicitly and clearly defined by the patentee. The indefinitearticles “a” or “an,” as used in the claims, are defined herein to meanone or more than one of the element that the particular articleintroduces; and subsequent use of the definite article “the” is notintended to negate that meaning. Furthermore, the use of ordinal numberterms, such as “first,” “second,” etc., to clarify different elements inthe claims is not intended to impart a particular position in a series,or any other sequential character or order, to the elements to which theordinal number terms have been applied.

1. A method, comprising: acquiring, by a computing device, a first setof one or more images of a graphical display using an image capturedevice, wherein the graphical display corresponds to a presentationdisplayed by a display device that is different from the computingdevice; analyzing the first set of one or more images to identify one ormore visual characteristics of an object represented by the first set ofone or more images; based at least in part on the one or more visualcharacteristics of the object, identifying one or more attributes of theobject and performing object recognition processes to determine anidentification score indicative of a determined level of certainty, froma plurality of levels of certainty, with which the object is recognized;transmitting, by the computing device, one or more specifications of theone or more attributes of the object to a television receiver and/or aremote data source, and pulling information, from the televisionreceiver and/or the remote data source, that matches the one or morespecifications; based at least in part on the information, generating atleast one user-selectable interface element for presentation with thecomputer device, wherein the at least one user-selectable interfaceelement corresponds to an option to take an action relating to theobject represented by the first set of one or more images; outputting,by the computing device, a visual output of the at least oneuser-selectable interface element as an overlay on the first set of oneor more images and/or a second set of one or more images displayed bythe computing device, wherein the second set of one or more images arebased at least in part on further image acquisition of the graphicaldisplay using the image capture device; processing, by the computingdevice, a user selection responsive to the outputting of the visualoutput of the at least one user-selectable interface element; andtransmitting, by the computing device, a communication to the televisionreceiver to cause the action responsive to the user selection.
 2. Themethod of claim 1, wherein the information pulled indicates: i) a set ofone or more programming events matching the one or more specifications,and ii) availability of one or more viewing options for the set of oneor more programming events.
 3. The method of claim 2, wherein: theaction relating to the object comprises recording at least one of theset of one or more programming events matching the one or morespecifications; and the communication transmitted to the televisionreceiver causes a recorder to record the at least one of the set of oneor more programming events.
 4. The method of claim 1, furthercomprising: inferring one or more user interests based at least in parton the user selection responsive to the outputting of the visual outputof the at least one user-selectable interface element; and transmittinga second communication to the television receiver to cause a secondaction based at least in part on the one or more user interestsinferred.
 5. The method of claim 4, wherein the second action comprisescustomizing an electronic programming guide so that upcoming programmingevents are graphically distinguished based at least in part on the oneor more user interests inferred.
 6. The method of claim 4, wherein thesecond action comprises a recorder recording a set of one or moreprogramming events based at least in part on the one or more userinterests inferred.
 7. The method of claim 1, wherein the informationpulled corresponds to content, from the remote data source, matching theone or more specifications, wherein content represents a set of one ormore commercial products matching the one or more specifications.
 8. Asystem comprising: a computing device configured to communicativelycouple to a television receiver, the computing device comprising: one ormore processors; and a memory communicatively coupled with and readableby the one or more processors and having stored thereinprocessor-readable instructions which, when executed by the one or moreprocessors, cause the computing device to perform: acquiring a first setof one or more images of a graphical display using an image capturedevice, wherein the graphical display corresponds to a presentationdisplayed by a display device that is different from the computingdevice; analyzing the first set of one or more images to identify one ormore visual characteristics of an object represented by the first set ofone or more images; based at least in part on the one or more visualcharacteristics of the object, identifying one or more attributes of theobject and performing object recognition processes to determine anidentification score indicative of a determined level of certainty, froma plurality of levels of certainty, with which the object is recognized;transmitting one or more specifications of the one or more attributes ofthe object to the television receiver and/or a remote data source, andpulling information, from the television receiver and/or the remote datasource, that matches the one or more specifications; based at least inpart on the information, generating at least one user-selectableinterface element for presentation with the computer device, wherein theat least one user-selectable interface element corresponds to an optionto take an action relating to the object represented by the first set ofone or more images; outputting a visual output of the at least oneuser-selectable interface element as an overlay on the first set of oneor more images and/or a second set of one or more images displayed bythe computing device, wherein the second set of one or more images arebased at least in part on further image acquisition of the graphicaldisplay using the image capture device; processing a user selectionresponsive to the outputting of the visual output of the at least oneuser-selectable interface element; and transmitting a communication tothe television receiver to cause the action responsive to the userselection.
 9. The system of claim 8, wherein the information pulledindicates: i) a set of one or more programming events matching the oneor more specifications, and ii) availability of one or more viewingoptions for the set of one or more programming events.
 10. The system ofclaim 9, wherein: the action relating to the object comprises recordingat least one of the set of one or more programming events matching theone or more specifications; and the communication transmitted to thetelevision receiver causes a recorder to record the at least one of theset of one or more programming events.
 11. The system of claim 8, thecomputing device to further perform: inferring one or more userinterests based at least in part on the user selection responsive to theoutputting of the visual output of the at least one user-selectableinterface element; and transmitting a second communication to thetelevision receiver to cause a second action based at least in part onthe one or more user interests inferred.
 12. The system of claim 11,wherein the second action comprises customizing an electronicprogramming guide so that upcoming programming events are graphicallydistinguished based at least in part on the one or more user interestsinferred.
 13. The system of claim 11, wherein the second actioncomprises a recorder recording a set of one or more programming eventsbased at least in part on the one or more user interests inferred. 14.The system of claim 8, wherein the information pulled corresponds tocontent, from the remote data source, matching the one or morespecifications, wherein content represents a set of one or morecommercial products matching the one or more specifications.
 15. One ormore non-transitory, machine-readable media having machine-readableinstructions thereon which, when executed by one or more processingdevices, cause the one or more processing devices to perform: acquiringa first set of one or more images of a graphical display using an imagecapture device, wherein the graphical display corresponds to apresentation displayed by a display device; analyzing the first set ofone or more images to identify one or more visual characteristics of anobject represented by the first set of one or more images; based atleast in part on the one or more visual characteristics of the object,identifying one or more attributes of the object and performing objectrecognition processes to determine an identification score indicative ofa determined level of certainty, from a plurality of levels ofcertainty, with which the object is recognized; causing transmission ofone or more specifications of the one or more attributes of the objectto a television receiver and/or a remote data source, and pullinginformation, from the television receiver and/or the remote data source,that matches the one or more specifications; based at least in part onthe information, generating at least one user-selectable interfaceelement for presentation with a display, wherein the at least oneuser-selectable interface element corresponds to an option to take anaction relating to the object represented by the first set of one ormore images; outputting a visual output of the at least oneuser-selectable interface element as an overlay on the first set of oneor more images and/or a second set of one or more images displayed bythe display, wherein the second set of one or more images are based atleast in part on further image acquisition of the graphical displayusing the image capture device; processing a user selection responsiveto the outputting of the visual output of the at least oneuser-selectable interface element; and causing transmission of acommunication to the television receiver to cause the action responsiveto the user selection.
 16. The one or more non-transitory,machine-readable media of claim 15, wherein the information pulledindicates: i) a set of one or more programming events matching the oneor more specifications, and ii) availability of one or more viewingoptions for the set of one or more programming events.
 17. The one ormore non-transitory, machine-readable media of claim 16, wherein: theaction relating to the object comprises recording at least one of theset of one or more programming events matching the one or morespecifications; and the communication transmitted to the televisionreceiver causes a recorder to record the at least one of the set of oneor more programming events.
 18. The one or more non-transitory,machine-readable media of claim 15, wherein the machine-readableinstructions further cause the one or more processing devices toperform: inferring one or more user interests based at least in part onthe user selection responsive to the outputting of the visual output ofthe at least one user-selectable interface element; and causingtransmission of a second communication to the television receiver tocause a second action based at least in part on the one or more userinterests inferred.
 19. The one or more non-transitory, machine-readablemedia of claim 18, wherein the second action comprises customizing anelectronic programming guide so that upcoming programming events aregraphically distinguished based at least in part on the one or more userinterests inferred.
 20. The one or more non-transitory, machine-readablemedia of claim 18, wherein the second action comprises a recorderrecording a set of one or more programming events based at least in parton the one or more user interests inferred.